<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!-- 美乳 -->
<html lang="ja">
  <head>
    <meta http-equiv="Content-type" content="text/html; charset=UTF-8">
    <meta http-equiv="Content-Script-Type" content="text/javascript">
    <meta name="author" content="Hahahaha">
    <link rev="made" href="mailto:rin_ne-at-big.or.jp">
    <link rel="home" href="http://www20.big.or.jp/~rin_ne/">
    <meta http-equiv="content-style-type" content="text/css">
    <link rel="stylesheet" href="../../fortune.css" type="text/css" media="all">
    <link rel="alternate" type="application/rss+xml" title="RSS" href="http://www20.big.or.jp/~rin_ne/tdiary/index.rdf">
    <title>Comment-key Filter &amp; Plugin</title>
  </head>

  <body>

    <div id="headerArea">
      <h2>コメントキーフィルタ＆プラグイン</h2>
    </div>

    <div id="contentArea">

      <div class="sectionList">
        <ul>
          <li><a href="#abstruct">はじめに</a></li>
          <li><a href="#system">動作環境</a></li>
          <li><a href="#install">インストール・アンインストール</a></li>
          <li><a href="#usage">使い方</a></li>
          <li><a href="#algorithm">動作原理</a></li>
          <li><a href="#faq">FAQ</a></li>
          <li><a href="#sorry">おことわり</a></li>
          <li><a href="#license">ライセンスなど</a></li>
          <li><a href="#thanks">謝辞</a></li>
          <li><a href="#changelog">履歴</a></li>
          <li><a href="#prevver">過去のバージョン</a></li>
        </ul>
      </div>

      <div id="contentBody">

        <div class="section">
          <h3><a name="abstruct">はじめに</a></h3>
          <div class="secbody">
            <p>最近、所有者以外が書き込みできるタイプのページ（掲示板やコメント、トラックバックなど）に宣伝目的で大量のデータを書き込む、いわゆるスパム攻撃が激しくなっています。</p>
            <p>特に流行のblogなどで被害が顕著ですが、同じように受信出来てしまうtDiaryでも同様のことが起こっています（対抗策が十分でない分、被害を受けやすくなっています）</p>
            <p>そこで、tDiaryの持つフィルタ機能とプラグイン機能を利用して、これらのスパムのうちコメントスパムに対して対策を行うのが「コメントキーフィルタ＆プラグイン」です。自動的にスパム送信を行うプログラムに対し効果を発揮します。</p>
            <p>尚、本フィルタ＆プラグインは<a href="http://sheepman.parfait.ne.jp/20040918.html#p02">sheepman発案のコメントスパム対策</a>をフィルタとプラグインのみで実現したものです。</p>
          </div>
        </div>

        <div class="section">
          <h3><a name="system">動作環境</a></h3>
          <div class="secbody">
            <p>動作に必要な条件は以下の通りです。</p>
            <ul>
              <li>tDiary 2.0.0以上のシステム</li>
              <li>自前でプラグイン及びフィルタがインストール出来る</li>
            </ul>
          </div>
        </div>

        <div class="section">
          <h3><a name="install">インストール・アンインストール</a></h3>
          <div class="secbody">
            <ul>
              <li>key.rb を tdiary/filter 下に配置します。</li>
              <li>comment_key.rb を misc/plugin 下に、 ja/cooment_key.rb を misc/plugin/ja 下に配置します。</li>
              <li>tDiary の設定ページにアクセスし、「プラグイン選択」にて comment_key.rb を有効にしてください。</li>
            </ul>
            <p>これでインストールは完了です。フィルタとプラグインの両方をインストールしないと動作しませんので注意してください。</p>
          </div>
        </div>

        <div class="section">
          <h3><a name="usage">使い方</a></h3>
          <div class="secbody">
            <p>インストールが完了した時点で、設定ページのプラグインメニューに「コメントキーフィルタ」が表示されます。このページにまずは移動してください。</p>
            <p>このページの「コメントキーフィルタを有効にする」のチェックを有効にすることで、とりあえずフィルタが有効になります。</p>
            <p>その下にはキーの値を生成する際に使用する文字列を指定します。この文字列がキーの値の元になる文字列の一部となりますので、お好きな文字列を設定してください。<strong>この文字列が他の人の日記のものと同一だと、生成されるキーはやはり同一になってしまうのでご注意を。</strong></p>
            <p>その下にある「常に同一の鍵文字列を生成する」は通常は必要ありませんのでそのままにしておいてください。</p>
            <p>以上が設定し終わると、このフィルタが機能します。</p>
          </div>
        </div>

        <div class="section">
          <h3><a name="algorithm">動作原理</a></h3>
          <div class="secbody">
            <p>本フィルタは<a href="http://sheepman.parfait.ne.jp/20040918.html#p02">sheepmanさんのコメントスパム対策</a>を移植したものなので原理は同じですが、一応説明しておきます。</p>
            <p>本プラグイン＆フィルタはコメントフォームに対し、値として日付ごとに一意な文字列を持つキー "comment_key" を追加し<span class="footnote"><a href="#fn01">*1</a></span>、コメント書き込み時にこのキーとフィルタ内で生成した文字列を比較することで「日記表示時にそのページにあったコメントフォームから書き込んだのか？」を判定します。</p>
            <p>判定がNGとなった場合はコメントの保存を行いません。</p>
            <p>キーに設定された文字列は、元となるキー文字列のMD5チェックサムになっていて、元となるキー文字列を容易に推測されないようになっています。</p>
            <div class="footnote">
              <p class="footnote"><a name="fn01">*1</a>&nbsp;日付に関係なく同一の文字列を生成することも出来ますが突破されやすくなります。詳しくは<a href="#faq">FAQ</a>を参照</p>
            </div>
          </div>
        </div>

        <div class="section">
          <h3><a name="faq">FAQ</a></h3>
          <div class="secbody">
            <dl>
              <dt>Q1. 最新表示でコメントできない</dt>
              <dd>
                <p>もしかして、speed_comment.rbプラグインを使っていませんか？その場合、この本プラグイン＆フィルタではコメント対象の日付が特定できません。その時は設定ページにある「常に同一の鍵文字列を生成する」のチェックを入れれば一応コメントできるようになります。</p>
                <p>ただし、最新表示のみならず日付別表示でも常に同じ鍵文字列を生成するので多少コメントスパムの突破率は上がると思います。</p>
              </dd>
            </dl>
          </div>
        </div>

        <div class="section">
          <h3><a name="sorry">おことわり</a></h3>
          <div class="secbody">
            <p>このフィルタ＆プラグインはコメントスパムを防止する目的で作成されていますが、これを完全に防ぐことはできませんのでご了承ください。</p>
            <p>例：　表示された日記のコメントフォームを解析したうえでスパム送信を行うようなプログラムなど</p>
          </div>
        </div>

        <div class="section">
          <h3><a name="license">ライセンスなど</a></h3>
          <div class="secbody">
            <p>「コメントキーフィルタ＆プラグイン」はGPLライセンスに従い公開・配布されるものです。</p>
          </div>
        </div>

        <div class="section">
          <h3><a name="thanks">謝辞</a></h3>
          <div class="secbody">
            <p>このフィルタ＆プラグインは、コメントスパムに困っていた時に見つけた<a href="http://sheepman.parfait.ne.jp/20040918.html#p02">sheepmanさんのコメントスパム対策</a>を使いたいんだけど、本体に手を入れたくない。なんとかならないか…と考えて出来たものです。重要な部分はほぼそのまま使わせてもらっています。ありがとうございます。</p>
            <p>これでなんとかコメントスパムが減ればいいな…。</p>
          </div>
        </div>

        <div class="section">
          <h3><a name="changelog">履歴</a></h3>
          <div class="secbody">
            <dl>
              <dt>2005/08/31 (Ver.0.5.0)</dt>
              <dd>設定ページのカテゴリに対応(tDiary-2.1.2.20050826以降)</dd>
              <dt>2005/04/17 (Ver.0.4.0)</dt>
              <dd>常に同一の鍵文字列を生成するオプションを追加</dd>
              <dt>2005/03/21 (Ver.0.3.0)</dt>
              <dd>携帯からコメントが出来なくなっていたのを修正</dd>
              <dt>2005/01/25 (Ver.0.2.0)</dt>
              <dd>TrackBack及びPingbackの投稿にも適用されてしまっていたのを修正</dd>
              <dt>2005/01/15 (Ver.0.1.0)</dt>
              <dd>初版公開</dd>
            </dl>
          </div>
        </div>

        <div class="section">
          <h3><a name="prevver">過去のバージョン</a></h3>
          <div class="secbody">
            <ul>
              <li><a href="./comment_key-0.4.0.tar.gz">Ver 0.4.0</a></li>
              <li><a href="./comment_key-0.3.0.tar.gz">Ver 0.3.0</a></li>
              <li><a href="./comment_key-0.2.0.tar.gz">Ver 0.2.0</a></li>
              <li><a href="./comment_key-0.1.0.tar.gz">Ver 0.1.0</a></li>
            </ul>
          </div>
        </div>

      </div>

    </div>

    <div id="footerArea">
      <address>Copyright &copy; ハハハハ 2001-2005 All Right Reserved.</address>
      <address>E-Mail: rin_ne-at-big.or.jp</address>

      <address class="lm">
        <script type="text/javascript">
          <!--
            document.write("Last Modified: ", document.lastModified);
          //-->
        </script>
      </address>
    </div>
  </body>
</html>
